using UnityEngine;

namespace Coffee.UIExtensions
{
    // [Assembly-CSharp.dll].Coffee.UIExtensions.UIEffectBase
    public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture
    {
        // Fields
        protected static readonly UnityEngine.Vector2[] splitedCharacterPosition;
        protected static readonly System.Collections.Generic.List<UnityEngine.UIVertex> tempVerts;
        private int m_Version;
        protected UnityEngine.Material m_EffectMaterial;
        private int _parameterIndex_k__BackingField;
        
        // Properties
        public int parameterIndex { get; set; }
        public virtual Coffee.UIExtensions.ParameterTexture ptex { get; }
        public UnityEngine.UI.Graphic targetGraphic { get; }
        public UnityEngine.Material effectMaterial { get; }
        
        // Methods
        public int get_parameterIndex()
        {
            return (int)this._parameterIndex_k__BackingField;
        }
        public void set_parameterIndex(int value)
        {
            this._parameterIndex_k__BackingField = value;
        }
        public virtual Coffee.UIExtensions.ParameterTexture get_ptex()
        {
            return 0;
        }
        public UnityEngine.UI.Graphic get_targetGraphic()
        {
            return this.graphic;
        }
        public UnityEngine.Material get_effectMaterial()
        {
            return (UnityEngine.Material)this.m_EffectMaterial;
        }
        public virtual void ModifyMaterial()
        {
            UnityEngine.UI.Graphic val_1 = this.graphic;
            if(this.isActiveAndEnabled != false)
            {
                
            }
        
        }
        protected override void OnEnable()
        {
            if(this != null)
            {
                    this.Register(target:  this);
            }
            
            UnityEngine.UI.Graphic val_1 = this.graphic;
            goto typeof(Coffee.UIExtensions.UIEffectBase).__il2cppRuntimeField_2D8;
        }
        protected override void OnDisable()
        {
            UnityEngine.UI.Graphic val_1 = this.graphic;
            if(this == null)
            {
                    return;
            }
            
            this.Unregister(target:  this);
        }
        protected virtual void SetDirty()
        {
            UnityEngine.UI.Graphic val_1 = this.graphic;
            goto typeof(UnityEngine.UI.Graphic).__il2cppRuntimeField_2F8;
        }
        protected override void OnDidApplyAnimationProperties()
        {
            goto typeof(Coffee.UIExtensions.UIEffectBase).__il2cppRuntimeField_2D8;
        }
        protected UIEffectBase()
        {
        
        }
        private static UIEffectBase()
        {
            var val_2 = mem[536881667];
            if(val_2 == 0)
            {
                    throw new NullReferenceException();
            }
            
            mem[536881675] = mem[536895699] + 16;
            val_2 = mem[536881667];
            if(val_2 <= 1)
            {
                    throw new NullReferenceException();
            }
            
            mem[536881683] = mem[536895699] + 8;
            val_2 = mem[536881667];
            if(val_2 <= 2)
            {
                    throw new NullReferenceException();
            }
            
            mem[536881691] = mem[536895699] + 40;
            val_2 = mem[536881667];
            if(val_2 <= 3)
            {
                    throw new NullReferenceException();
            }
            
            mem[536881699] = mem[536895699];
            mem2[0] = 536881643;
            System.Collections.Generic.List<UnityEngine.UIVertex> val_1 = 536877657;
            val_1 = new System.Collections.Generic.List<UnityEngine.UIVertex>();
            mem2[0] = val_1;
            throw new NullReferenceException();
        }
    
    }

}
